package mapDemo;

import java.util.Collection;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;

public class Test {
    public static void main(String[] args) {
        TestMap();
    }

    public static void TestMap(){
        /*
         * getKey() 方法
         * getValue() 方法
         */
//        Map<String, Integer> map=new TreeMap<>();
//        map.put("李四",5);
//        map.put("张三",6);
//        map.put("赵六",20);
//
//        for (Map.Entry<String, Integer> entry : map.entrySet()) {
//            System.out.println(entry.getKey() + " : " + entry.getValue());
//        }
        /*
        *
        * setValue(V value) 方法
         */
//        Map<String, String> map=new TreeMap<>();
//        map.put("key1", "value1");
//        map.put("key2", "value2");
//
//        String oldValue = map.put("key1", "newValue1");
//        System.out.println("Old Value: " + oldValue); // 输出旧值 value1
//
//        for (Map.Entry<String, String> entry : map.entrySet()) {
//            System.out.println("Key: " + entry.getKey() +
//                    " Value: " + entry.getValue());
//        }
        /*
         * put() 方法
         */
        Map<String,Integer> map = new TreeMap<>();
        map.put("A", 1);
        map.put("B", 2);
        map.put("C", 3);
        // get()方法
        System.out.println(map.get("A"));
        // getOrDefault()方法
        System.out.println(map.getOrDefault("D",-1));

        // remove()方法
        map.put("D",4);
        System.out.println(map);
        map.remove("D");
        System.out.println(map);

        // containsKey()方法
        System.out.println(map.containsKey("A"));//true
        System.out.println(map.containsKey("D"));///false

        // containsValue()方法
        System.out.println(map.containsValue(1));//true
        System.out.println(map.containsValue(5));//false


        // keySet()方法获取所有的键
        Set<String> keys = map.keySet();
        System.out.println("Keys: " + keys);

        // values()方法获取所有的值
        Collection<Integer> values = map.values();
        System.out.println("Values: " + values);
    }

}
